

import 'package:flutter/material.dart';
import 'package:flutter_graphics_view/src/model/item_model_data.dart';
import 'package:flutter_graphics_view/src/policy/base_policy_set.dart';

mixin GraphicsItemWidgetsPolicy on BasePolicySet{
  /// Allows you to add any widget to a component.
  ///
  /// These widgets will be displayed under all components.
  ///
  /// You have [ComponentData] here so you can customize the widgets to individual component.
  Widget showCustomWidgetWithItemModelDataUnder(
      BuildContext context, ItemModelData componentData) {
    return const SizedBox.shrink();
  }

  /// Allows you to add any widget to a component.
  ///
  /// These widgets will have the same z-order as this component and will be displayed over this component.
  ///
  /// You have [ComponentData] here so you can customize the widgets to individual component.
  Widget showCustomWidgetWithItemModelData(
      BuildContext context, ItemModelData componentData) {
    return const SizedBox.shrink();
  }

  /// Allows you to add any widget to a component.
  ///
  /// These widgets will be displayed over all components.
  ///
  /// You have [ComponentData] here so you can customize the widgets to individual component.
  Widget showCustomWidgetWithItemModelDataOver(
      BuildContext context, ItemModelData componentData) {
    return const SizedBox.shrink();
  }
}